home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / basic / qwez42.zip / DEMO.BAS < prev    next >
BASIC Source File  |  1991-04-01  |  55KB  |  1,397 lines

  1. '----------------------------------------------------------------------------
  2. '-------------------------- Windows R-E-Z Demonstration ---------------------
  3. '-------------------------- CONNECT Software --------------------------------
  4. '-------------------------- Apr. 01, 1991 -----------------------------------
  5. '----------------------------------------------------------------------------
  6. '-------------------------- Copyright 1988,1989,1990,1991 -------------------
  7. '-------------------------- By: CONNECT Software ----------------------------
  8. '-------------------------- All rights reserved -----------------------------
  9. '----------------------------------------------------------------------------
  10. '
  11. '            **** VER 4.20 ------- LAST UPDATE ------- 04/01/1991 ****
  12. '
  13. '***************************************************************************
  14. '**** THIS PROGRAM MUST BE USED WITH ONE OF THE FOLLOWING LIBRARIES:    ****
  15. '***************************************************************************
  16. '**** For QB4.+ unenhanced version use QB4UNEN.QLB                      ****
  17. '**** For BASIC 7.+ unenhanced version use PDSUNEN.QLB                  ****
  18. '**** For QB4.+ enhanced version use QB4ALL.QLB or QB4NER.QLB           ****
  19. '**** For BASIC 7.0 enhanced version use PDSALL70.QLB or PDSNER70.QLB   ****
  20. '**** For BASIC 7.1 enhanced version use PDSALL71.QLB or PDSNER71.QLB   ****
  21. '**** Load QB or QBX with the /L option using the correct library       ****
  22. '***************************************************************************
  23.  
  24. DECLARE SUB CHNGPULL (BAR%, WIND%, ATTR%)
  25. DECLARE SUB CHNGWIND (W%)
  26. DECLARE SUB CLRWIND ()
  27. DECLARE SUB DELWIND (W%)
  28. DECLARE SUB DISKSIZE (DISK%, DISKSZE&, FREESPACE&)
  29. DECLARE SUB DOSOUND ()
  30. DECLARE SUB FINDPATH (PATH$)
  31. DECLARE SUB FINDDIR (PATH$, TYPE$, F%)
  32. DECLARE SUB GETANS (TEXT$, CHOICE$, ANS$, TR%, LC%, ATTR%, BORDER%)
  33. DECLARE SUB GETDISK (DR%)
  34. DECLARE SUB INPTWIND (PROMPT$, CODE$, TR%, LC%, WD%, ATTR%, RESTRICT$, RTRN$, RK%, BRD%)
  35. DECLARE FUNCTION KEYMOUSE%
  36. DECLARE SUB LINEW (ROW%, TYP%)
  37. DECLARE SUB MAKEWIND (W%, LABEL$, TR%, LC%, WD%, NR%, ATTR%, BORDER%)
  38. DECLARE FUNCTION MARKED% (RTRN$, START%)
  39. DECLARE SUB MBUTTONS (LBUTTON%, RBUTTON%)
  40. DECLARE SUB MOUSEON (ONFLAF%)
  41. DECLARE SUB MULTINPT (SCRN%, FLD%, EXIT$, AUTOEXIT%, RKEY%, RTRN$())
  42. DECLARE SUB NEWCOLOR (ATTR%)
  43. DECLARE SUB PRINTW (TEXT$, TR%, LC%)
  44. DECLARE SUB PULLDOWN (A%, B%, ATTR%, HATTR%, BORDER%)
  45. DECLARE SUB RESAVE ()
  46. DECLARE SUB RSTRWIND (W%, DELFLAG%)
  47. DECLARE SUB SAVEWIND (W%, TR%, LC%, WD%, NR%)
  48. DECLARE SUB SCRLWIND (LIST$(), ENTRIES%, RTRN$, RTRN%, HIATTR%)
  49. DECLARE SUB SETDISK (DRIVE%, BADFLAG%)
  50. DECLARE SUB SETINPT (SCRN%, WD%, EXIT$, INPT%(), INPT$(), BACKCOL%)
  51. DECLARE SUB SETPULL (TR%, LC%, WD%, BAR$, PWIND$())
  52. DECLARE SUB SETWIND (FAST%, SND%, SHADCOL%, NOHI%, DOT%, SCROLLARROW%, DFORMAT%)
  53. DECLARE SUB WINDSTATUS ()
  54.  
  55. '----------  MUST BE IN ANY MODULE USING "FINDDIR" DIRECTORY ROUTINE --------
  56. TYPE DIREC
  57.   size AS LONG              ' SIZE
  58.   date AS STRING * 10       ' DATE
  59.   TIME AS STRING * 6        ' TIME
  60.   ATTR AS INTEGER           ' ATTRIBUTE
  61. END TYPE
  62. COMMON SHARED /DIRECTORY/ DIREC$(), DIRINFO() AS DIREC
  63.  
  64. '--------------------------- DIMENSION ARRAYS -------------------------------
  65. DIM MRTRN1$(20), MRTRN2$(10)                   ' FOR MULTI-FIELD INPUT DEMO
  66. DIM COLCHOICE$(4), LOCHOICE$(4)                ' "                       "
  67.  
  68. MRTRN1$(5) = "RED"                             ' # 1 INPUT SCREEN
  69. MRTRN1$(6) = "NORTH"                           '  "
  70. COLCHOICE$(1) = "RED"                          '  "
  71. COLCHOICE$(2) = "PURPLE"                       '  "
  72. COLCHOICE$(3) = "YELLOW"                       '  "
  73. COLCHOICE$(4) = "GREEN"                        '  "
  74. LOCHOICE$(1) = "NORTH"                         '  "
  75. LOCHOICE$(2) = "SOUTH"                         '  "
  76. LOCHOICE$(3) = "EAST"                          '  "
  77. LOCHOICE$(4) = "WEST"                          '  "
  78. COLCHOICE% = 1: LOCHOICE% = 1                  '  "
  79.  
  80. MRTRN2$(1) = "CONNECT SOFTWARE"                ' # 2 INPUT SCREEN
  81. MRTRN2$(2) = "6192 FAWN MEADOW"                '  "
  82. MRTRN2$(3) = "FARMINGTON, NY"                  '  "
  83. MRTRN2$(4) = "14425"                           '  "
  84. MRTRN2$(6) = "123,1"                           '  "
  85. MRTRN2$(7) = "123,12"                          '  "
  86. MRTRN2$(8) = "123,123"                         '  "
  87.  
  88. DIM LAN$(3), DISK$(2), VER$(10), ORDER$(20)    ' FOR ORDER FORM
  89.     
  90. LAN$(1) = "QuickBASIC 4.++"                    '  "
  91. LAN$(2) = "BASIC 7.0 - PDS"                    '  "
  92. LAN$(3) = "BASIC 7.1 - PDS"                    '  "
  93. LAN% = 1: ORDER$(10) = LAN$(1)                 '  "
  94.                                               
  95. VER$(1) = ""                                   '  "
  96. VER$(2) = "3.10"                               '  "
  97. VER$(3) = "3.20"                               '  "
  98. VER$(4) = "3.30"                               '  "
  99. VER$(5) = "3.40"                               '  "
  100. VER$(6) = "3.60"                               '  "
  101. VER$(7) = "4.00"                               '  "
  102. VER$(8) = "4.01"                               '  "
  103. VER$(9) = "4.10"
  104. VERS% = 1: ORDER$(9) = ""                      '  "
  105.  
  106. DISK$(1) = "5.25 inch - 360K"                  '  "
  107. DISK$(2) = "3.5 inch - 720K"                   '  "
  108. DSIZE% = 1: ORDER$(11) = DISK$(1)              '  "
  109.  
  110. '-------------- ALLOWABLE DATE FORMATS FOR INPUT ROUTINES -------------------
  111. DIM DATETYPE$(5)
  112. DATETYPE$(1) = "mm-dd-yyyy"
  113. DATETYPE$(2) = "mm/dd/yyyy"
  114. DATETYPE$(3) = "dd-mm-yyyy"
  115. DATETYPE$(4) = "dd/mm/yyyy"
  116. DATETYPE$(5) = "dd.mm.yyyy"
  117. '----------------------------------------------------------------------------
  118. REALSTART:
  119. PREFLAG% = 1: A% = 15
  120. ON ERROR GOTO DISKERROR
  121.    CALL FINDPATH(PATH$)                    ' FIND PRESENT DISK AND  PATH
  122.    PREFLAG% = 0
  123. ON ERROR GOTO 0
  124. MOUSEON (1)                                ' TURN THE MOUSE ON
  125. MBUTTONS 13, 27
  126. WIDTH 80
  127. CLS
  128. '-------------------- SET DATA FOR MULTIPLE SCROLL WINDOWS ------------------
  129.          REDIM SRTRN1$(4), SRTRN2$(5), SRTRN3$(4), SRTRN4$(1), SRTRN5$(1)
  130.          D% = 6
  131.          REDIM SWIND%(D%), STR%(D%), SLC%(D%), SWID%(D%), SNR%(D%)
  132.          REDIM ST$(D%), SENTRIES%(D%)
  133.          FOR y% = 1 TO 6                  ' 5 SCROLL WINDOWS + TITLES
  134.          READ SWIND%(y%)
  135.          READ STR%(y%)
  136.          READ SLC%(y%)
  137.          READ SWID%(y%)
  138.          READ SNR%(y%)
  139.          READ SENTRIES%(y%)                ' ENTRIES FOR EACH SCROLL WINDOW
  140.            FOR X% = 1 TO SENTRIES%(y%)
  141.               SELECT CASE y%
  142.                 CASE 1
  143.                   READ SRTRN1$(X%)
  144.                 CASE 2
  145.                   READ SRTRN2$(X%)
  146.                 CASE 3
  147.                   READ SRTRN3$(X%)
  148.                 CASE 4
  149.                   READ SRTRN4$(X%)
  150.                 CASE 5
  151.                   READ SRTRN5$(X%)
  152.                 CASE 6
  153.                   READ ST$(X%)
  154.                 CASE ELSE
  155.               END SELECT
  156.            NEXT
  157.          NEXT
  158.  
  159. ' DATA FOR EACH SCROLL WINDOW AND TITLES
  160. ' WINDOW#,TOPROW,LEFT COLUMN,WIDTH,ROWS,ENTRIES, ITEMS.......
  161. DATA 16,6,13,16,7,3,No Border,Single line,Double line
  162. DATA 17,6,33,16,9,5,No Shadow,Right/Bottom,Left/Bottom,Left/Top,Right/Top
  163. DATA 18,6,52,16,7,2, On Top Line,In Title Box
  164. DATA 19,15,15,14,3,1,"----OK----"
  165. DATA 20,15,52,14,3,1,"--CANCEL--"
  166. DATA 0,0,0,0,0,3,"@Border","@Shadow","@Title"
  167.  
  168. '--------------------- SET DATA FOR SCROLL WINDOW DEMO ----------------------
  169. DIM SCROLL$(20)                    ' READ DATA FOR SCROLL WINDOW DEMO
  170.  
  171. FOR X% = 1 TO 14                   '              "
  172.    READ SCROLL$(X%)                '              "
  173. NEXT                               '              "
  174.  
  175.                '***** DATA FOR SCROLL WINDOW DEMO *****
  176.  
  177. DATA This is a sample of a scroll window.
  178. DATA The A@RROW keys or different colored
  179. DATA letter can be pressed to make a sel-
  180. DATA ection.  REGULAR scroll windows exit
  181. DATA when ENTER is pressed.  AUTO-EXIT
  182. DATA scroll windows exit if the letter
  183. DATA pressed is found.  END / HOME / PGUP
  184. DATA and PGDN keys respond as ex@pected.
  185. DATA MARK